using UnityEngine;
using UnityEngine.UIElements;
using MinesweeperPlus.Scripts.Abstractions;
using MinesweeperPlus.Scripts.Utils;

namespace MinesweeperPlus.Scripts.Configs
{
    [CreateAssetMenu(
        fileName = nameof(IconsConfig),
        menuName = Constants.SO_CONFIG_MENU_NAME + nameof(IconsConfig))]
    public sealed class IconsConfig : ConfigBase
    {
        [field: Header("Vector Images")]
        [field: SerializeField] public VectorImage CancelIcon { get; private set; }
        [field: SerializeField] public VectorImage ConfirmIcon { get; private set; }
        [field: SerializeField] public VectorImage NextIcon { get; private set; }
        [field: SerializeField] public VectorImage MenuIcon { get; private set; }
        [field: Space]
        [field: SerializeField] public VectorImage ShovelIcon { get; private set; }
        [field: SerializeField] public VectorImage FlagIcon { get; private set; }
        [field: SerializeField] public VectorImage HandIcon { get; private set; }
        [field: Space]
        [field: SerializeField] public VectorImage MineIcon { get; private set; }
        [field: SerializeField] public VectorImage EmptyMineIcon { get; private set; }
        [field: Space]
        [field: SerializeField] public VectorImage PlayIcon { get; private set; }
        [field: SerializeField] public VectorImage EmptyPlayIcon { get; private set; }
        [field: Space]
        [field: SerializeField] public VectorImage ShopIcon { get; private set; }
        [field: SerializeField] public VectorImage RecordsIcon { get; private set; }
        [field: Space]
        [field: SerializeField] public VectorImage InfoIcon { get; private set; }
        [field: SerializeField] public VectorImage SettingsIcon { get; private set; }
        [field: SerializeField] public VectorImage LampIcon { get; private set; }
        [field: SerializeField] public VectorImage VideoIcon { get; private set; }
        [field: SerializeField] public VectorImage RestartIcon { get; private set; }
        [field: Space]
        [field: SerializeField] public VectorImage StarIcon { get; private set; }
        [field: SerializeField] public VectorImage EmptyStarIcon { get; private set; }
        [field: Space]
        [field: SerializeField] public VectorImage SizeIcon { get; private set; }
    }
}
